System and computer-implemented method for incorporating an image into a page of content for transmission from a web-site

ABSTRACT

A computer-implemented system and method of operating a web-site that provides accounts for respective users is disclosed. The method comprises: receiving an image uploaded from a user to the account of the user, wherein the image is to be incorporated into the account for presentation to other users who have been granted appropriate access to the account, and wherein the image is received as an image data file encoding the image in accordance with a standard image format; converting the image from the standard image format of the image data file into a format in which the image is encoded using a markup language, wherein the markup language is generally used for transmitting a page of content from said web-site to a browser run by a user; and incorporating the image encoded using the markup language into a page of content prior to transmission of the page of content over a telecommunications network to a browser run by a user.

RELATED APPLICATION

This application is a divisional of, and claims priority under 35 U.S.C.section 120 to, pending U.S. patent application Ser. No. 13/560,699,entitled “System and computer-implemented method for incorporating animage into a page of content for transmission over a telecommunicationsnetwork”, by the same inventor as the instant application filed on 27Jul. 2012 the contents of which are incorporated by reference herein.U.S. patent application Ser. No. 13/560,699 claims the benefit of U.S.Provisional Patent Application No. 61/513,370, by the same inventor asthe instant application filed on 29 Jul. 2011, the contents of which areincorporated by reference.

FIELD OF THE INVENTION

The invention relates to a system and computer-implemented method forincorporating an image into a page of content for transmission over atelecommunications network from a server to a client. The page ofcontent and the incorporated image may be displayed by a browser runningon the client.

BACKGROUND OF THE INVENTION

It is well known to include images in web pages. The standard way ofdoing this is to include an html link in the web page. An example ofsuch a link is:

<img src=″/images/diagram_small.jpg″ width=″295″ height=″235″ alt=″eMailSignature consists of three components″ />Here, the tag “img src” specifies the location of the image to beretrieved, which is a file “diagram_small.jpg” conforming to the JPEGimage encoding standard. The file is located in the directory“/images/”, while the full http address of the file can be determinedfrom information provided in the remainder of the web page. The “alt”tag specifies some wording for the browser to display as an alternativeto the image, for example, if the image cannot be successfully retrievedor displayed. The “width” and “height” tags specify the size of arectangular box or window within which the image is to be displayed.Assuming a rectangular image, the image will generally be displayed soas to fill its display window.

As part of displaying or rendering a web page including the above htmlcode, a browser accesses the location specified by the “img src” tag toretrieve the file containing the image data. The browser then determinesthe best location for presenting the image within the rendered page.This location can be selected having regard to the size of the image,the size of the screen used for the current display, etc.

In the operation of a standard browser, if a user right-clicks over theimage, the user is presented with a menu of options relating to theimage. For example, a user may be able to print the image, save theimage as a file—i.e. a local duplicate of “diagram_small.jpg”, copy theimage into another application, and so on. However, such a facility maybe undesirable for the provider of the web content, for example, if theimage is subject to copyright restrictions or is otherwise considered tobe valuable intellectual property. Likewise, many people upload variousimages onto social networking sites such as Facebook for sharing withfriends. However, a user may prefer that his or her images are onlyavailable for viewing on this site, without allowing other people toeasily download and copy such images.

SUMMARY OF THE INVENTION

One embodiment of the invention provides a computer-implemented methodof incorporating an image into a page of content for transmission over atelecommunications network from a server to a client for display by abrowser running on the client. The method comprises providing an imagedata file encoding said image in accordance with a standard imageformat; providing a page of content in a markup language, said page ofcontent being intended for transmission over a telecommunicationsnetwork from a server to a client for display by a browser running onthe client, said page of content including a link or reference to theimage data file for incorporating the image within the page of content;converting said image from said standard image format of the image datafile into a format in which the image is encoded using said markuplanguage; and incorporating the image encoded using said markup languageinto the page of content to replace said link or reference to the imagedata file, prior to transmission of the page of content over atelecommunications network.

By converting the image coding into a markup language, the image can nowbe integrated into the overall page of content. One consequence of thisis that a browser can no longer readily distinguish the image from theremaining markup language encoding of the page content (in contrast tothe situation where the image is separately retrieved via the link orreference). Accordingly, right clicking on the displayed image at theclient is no different from right clicking anywhere in the main body oftext for the page, and so any resulting operation, such as printing,will apply to the page content as a whole (rather than to just theportion of the page content that corresponds to the image). Indeed, inthe Internet Explorer browser from Microsoft Corporation, right clickingthe main body of page content does not provide the option of saving thecorresponding material at all (although such saving can be implementedfrom the “File” menu).

Consequently, it is significantly more complicated for the user to savethe image encoded in html language from the page content than it is tosave an image included by means of a conventional link or reference toan image data file. Furthermore, even if the user does save the wholepage content in its markup language, it is relatively difficult toextract just the markup language corresponding to just the image (ratherthan that corresponding to the whole page), especially if the markuplanguage source coding for the page is lengthy and/or rather complex. Inaddition, although the markup version of an image may be readilydisplayed by a browser, there are many other systems in which the markupencoding may cause problems compared with the original image-specificformat (such as JPEG). For example, electronic picture frames generallyrequire an image-specific format for displaying an image. Likewise, manyother computer applications that allow an image to be imported requirethe image to be encoded using a standard image-specific format.Accordingly, the approach described herein not only makes it harder toextract the image from the page content in the first place, but alsomakes it more difficult to (re)-use any image that a user does manage toextract. This provides enhanced protection for the intellectual propertyrights associated with the image.

In one embodiment, the image encoded using said markup language isincorporated into the page of content in response to parsing saidreference or link. For example, the content server processes (parses)the page of content, detects the reference or link to the image datafile, and proceeds to replace the link with the image encoded using themarkup language. In some situations, the actual conversion of the imagefrom the standard image format into the markup language is performed inresponse to a request from the client. Alternatively, the conversion ofthe image from the standard image format into the markup language may beperformed in advance, i.e. prior to receiving such a request. In thislatter case, the converted image may be stored separately from the pageof content for future incorporation into the page of content.

In some implementations, the page of content incorporating the imageusing said markup language may be stored (as a whole) for re-use, forexample, if the page is requested first by one client and then byanother client (or repeatedly by the same client). Storing the page ofcontent incorporating the converted image in this manner avoids havingto perform the image conversion every time that the page is transmittedto a client.

In one embodiment, the method further comprises transmitting the page ofcontent incorporating the image represented at a pixel level using saidmarkup language from a server to a receiving client. A browser on thereceiving client is able to render the page of content so as to displaythe image within said page by directly using the image encoded in saidmarkup language, without having to retrieve any separate image sourcefile.

In one embodiment, converting the image includes converting pixels ofthe image to dots in said markup language. The conversion may furtherinclude combining a series of two or more dots that are the same as oneanother into a line in said markup language. This latter functionalitycan reduce the size of the converted image (in terms of the amount ofmarkup language used to represent the image).

In one embodiment, the method further comprises reducing the volume ofthe image encoded using said markup language, for example, by loweringthe resolution of the image. Such lowering of the resolution can beperformed prior to converting the image, or alternatively, the loweringof the resolution may be performed as part of converting the image.

In one embodiment, the markup language comprises hypertext markuplanguage (html). Other markup languages such as wml may also be utilisedwhere appropriate.

In one embodiment, the method further comprises compressing the page ofcontent. Such compression might be performed, for example, prior tostoring and/or transmitting the page of content including the convertedimage in order to save storage space or bandwidth (as appropriate). Suchcompression of the markup coding can be performed using any appropriatetextual compression facility, e.g. LZW compression (rather than an imagecompression facility that could be applied to the originalimage-specific coding).

One embodiment of the invention provides a computer-implemented methodof operating a web-site that provides accounts for respective users. Themethod comprises receiving an image uploaded from a user to the accountof the user, wherein the image is to be incorporated into the accountfor presentation to other users who have been granted appropriate accessto the account. The image is received as an image data file encoding theimage in accordance with a standard image format. The image is thenconverted from the standard image format of the image data file into aformat in which the image is encoded using a markup language. Thismarkup language is generally used for transmitting a page of contentfrom the web-site to a browser run by a user. The image encoded usingsaid markup language is then incorporated into a page of content priorto transmission of the page of content over a telecommunications networkto a browser run by a user.

Such a method could be used in conjunction with a social networkingsite, a photograph album site, a web-hosting server, and so on, whereusers upload material into their account. The material is made availablefor viewing by other users in accordance with the security settings (ifany) on the account. The user may be happy to paste images to theiraccount for other such users to be able to view, but may prefer thatthese images are not copied further (for example, for privacy reasons).Accordingly, the web site converts the images into a markup languageformat, which allows the images to be readily viewed, but makes it muchmore difficult for the images to be copied or otherwise manipulated.This conversion may be performed with any suitable timing, e.g.immediately after an image is uploaded, immediately before an image isviewed, or at some intermediate time.

Another embodiment of the invention provides a computer-implementedmethod of operating a web-site that provides image search services. Themethod comprises receiving a search request from a user for images thatsatisfy or match one or more specified search criteria. The web-siteretrieves one or more images in accordance with the one or more searchcriteria, and provides the retrieved images to the user. The providedimages are encoded using a markup language, wherein said markup languageis generally used for transmitting a page of content from said web-siteto a browser run by a user.

Such an approach allows the user to view the retrieved images, but makesit more difficult for the user to copy or otherwise exploit the images.In one implementation, the method further comprises providing at leastone of the retrieved images to the user in a standard image format uponselection of said at least one retrieved image by the user. Providingthe retrieved images to the user may be conditional, for example, basedon receiving some form of payment from the user.

In one embodiment, the web-site further performs a conversion of saidone or more retrieved images from an image data file in a standard imageformat into said markup language encoding. This conversion may beperformed in response to the search request, after retrieving theimages. Another possibility is that the images have already beenconverted prior to receiving the search request. For example, the imagesmight be retrieved from a local store (cache) of already convertedimages. The conversion may have been performed in response to an earliersearch request for which that image was included in the search results,or possibly when the image was first loaded into the store (perhaps aspart of the web crawling service utilised by search engines to buildsearch indices, etc).

Another embodiment of the invention provides a computer-implementedmethod of operating a web-site that provides image conversion services.The method comprises receiving an image uploaded from a user, whereinsaid image is received as an image data file encoding said image inaccordance with a standard image format. The method further comprisesconverting the image from the standard image format of the image datafile into a format in which the image is encoded using a markuplanguage. The markup language is generally used for transmitting a pageof content from said web-site to a browser run by a user. The methodfurther comprises transmitting a page of content including the imageencoded using said markup language back to the user.

Such an approach can be used to provide a service for end users toconvert their images from a standard image format into a markupencoding. This then allows the end users to provide their images in amore protected format, for which copying is more difficult.

Another embodiment of the invention provides a computer program productcomprising computer program instructions stored on a non-transitorycomputer-readable storage medium, wherein the computer programinstructions, when loaded into and executed by a computer system, causethe computer system to perform a method of incorporating an image into apage of content for transmission over a telecommunications network froma server to a client for display by a browser running on the client. Themethod comprises: providing an image data file encoding said image inaccordance with a standard image format; providing a page of content ina markup language, said page of content being intended for transmissionover a telecommunications network from a server to a client for displayby a browser running on the client, said page of content including alink or reference to the image data file for incorporating the imagewithin the page of content; converting said image from said standardimage format of the image data file into a format in which the image isencoded using said markup language; and incorporating the image encodedusing said markup language into the page of content to replace said linkor reference to the image data file prior to transmission of the page ofcontent over a telecommunications network.

Another embodiment of the invention provides an apparatus forincorporating an image into a page of content for transmission over atelecommunications network from a server to a client for display by abrowser running on the client. The apparatus includes memory and aprocessor for executing instructions from the memory. The apparatus isconfigured to: provide an image data file encoding said image inaccordance with a standard image format; provide a page of content in amarkup language, said page of content being intended for transmissionover a telecommunications network from a server to a client for displayby a browser running on the client, said page of content including alink or reference to the image data file for incorporating the imagewithin the page of content; convert said image from said standard imageformat of the image data file into a format in which the image isencoded using said markup language; and incorporate the image encodedusing said markup language into the page of content to replace said linkor reference to the image data file prior to transmission of the page ofcontent over a telecommunications network.

The computer program product and apparatus embodiments will generallybenefit from the same particular features as described above withreference to the method embodiments.

The approach described herein may be implemented by a processorexecuting software, where the software is provided, for example, as partof a web server, an application program, a utility tool, an operatingsystem, firmware, etc. The above approach may also be implemented inhardware. A software or computer program implementation may distributedon a storage medium such as a DVD, CD-ROM, etc, or stored as part of asystem, e.g. within some device ROM.

BRIEF DESCRIPTION OF THE DRAWINGS

Various embodiments of the invention will now be described in detail byway of example only with reference to the following drawings:

FIG. 1 is a schematic diagram of a distributed computer system inaccordance with one embodiment of the invention;

FIG. 2 is a flowchart illustrating the processing of an image conversiontool in accordance with one embodiment of the invention;

FIG. 3 is a flowchart illustrating the processing of FIG. 2 in moredetail in accordance with one embodiment of the invention;

FIG. 4 is an example of an image for use in a page of content, whereinthe image can be converted into a markup language encoding.

DETAILED DESCRIPTION

FIG. 1 is a schematic diagram of a distributed computer system inaccordance with one embodiment of the invention, in which page content18 is to be sent from a content server 10 to a recipient system, namelyclient 12, via network 15. The client 12 may represent any suitablesystem, for example a desktop computer, a laptop, a tablet, a netbook, aportable (handheld) computer and/or communications device, a 3G mobiletelephone (such as a smartphone), a television receiver with websupport, etc. Accordingly, network 15 may represent the Internet, acompany intranet, a telephone network, or any other suitable wired orwireless telecommunications network (or combination of such networks).

In some embodiments, the content server 10 may interact with a webserver 11 or other form of front end device in order to send the pagecontent 18 to recipient system 12 over network 15. In particular, theclient system 12 may send a request for material to the web server 11using browser 112 (e.g. Microsoft Internet Explorer, Firefox, GoogleChrome, Apple Safari, etc) which is running on the client system 12. Ifthe client is operating over the worldwide web, this request isgenerally sent using the hypertext transfer protocol (http) andspecifies the uniform resource locator (URL) of the desired content.

The web server 11 responds to this request by retrieving the relevantcontent (as specified by the URL) from content server 10, and thenreturning this content 18 back to the browser 112 on the requestingclient. The link between the content sender 10 and the web server 11 maybe over a local area network (LAN), a broadband or cable link, anintranet, a wide area network such as the Internet, a telephone network,or any other suitable communications network. In other embodiments, theweb server 11 (or other front end device) and the content server 10 maybe combined into a single system, so that the page content 18 is locallyavailable to the web server 11. Overall, the skilled person will beaware of a wide variety of possible architectures for the server side ofthe distributed computing system of FIG. 1.

The content server 10 therefore transmits content 18 to the client 12over network 15 in response to a request from the client. The requestmay be received and/or the transmission may be sent directly orindirectly between the client 12 and the content server 10, for example,via web server 11 or some other front-end device (if present). Thecontent may represent a web page which the client requests from thecontent server 10 via web server 11, or some other similar type ofcontent, e.g. as provided over a 3G telephone network. The contentserver 10 may store the page content 18 in advance of receiving arequest from the client 12, or may generate the page content in part orin full in response to receiving the request from the client. Inaddition, the content server 10 may retrieve some or all of the pagecontent from one or more other systems, databases, etc (not shown inFIG. 1).

The page content 18 is transmitted using a markup representation, inwhich the content is encoded using (for example) hypertext markuplanguage (html), as for the worldwide web, or perhaps wireless markuplanguage (wml) as used in some mobile (wireless) networks. Such a markuplanguage utilises only a limited set of standard characters. Formattingand structural information for the content is specified by includingtags (markup), for example to denote paragraphs, italics, etc. Thesetags also use only the limited set of standard characters. Hence, such amarkup representation allows the content to be specified or definedusing just the limited set of standard characters, which greatly assistsportability, i.e. allowing the content to be displayed or rendered onmany different types of device.

The markup language supports the use of a tag to specify a link(reference) to other material that is to be incorporated into the pagecontent. Note that this link, such as the img src tag described above,specifies material to be displayed (embedded) in the current page (incontrast to a hyperlink, which is a reference or link to material thatcan be accessed from the current page by the user at the client clickingor otherwise activating the hyperlink). Arrow 180 in FIG. 1schematically represents such a link, by which page content 18incorporates image data file 19. In general, this linked material isencoded in a format specific to the type of data file. For example, animage file might be encoded as a JPEG or GIF file, while an audio filemight be encoded as an MP3 file or a WMA file. These file types aregenerally specific to a particular type of data (image, sound, etc) andare not defined in terms of a markup representation. In contrast, themarkup language is not designed specifically for representing images,and can be considered instead as being primarily intended for general ortext-based content (as in “hypertext markup language”).

Any given page of content may reference multiple different data files ofvarious types. Some or all of the referenced data files may be locatedon the same system as the page content (such as for image data file 19in FIG. 1, which is on the same system, namely content server 10, as thepage content 18). In other cases, page content 18 may reference datafiles on one or more other systems, stored in databases, etc.

Browser 112 on client 12 receives and renders (displays) the pagecontent 18 received from content server 10. In particular, the browserparses the markup tags to allow the page content to be displayed inaccordance with the specified format and structure. The browser is alsoresponsible for identifying in the page content 18 any linked material,e.g. a reference to an image data file 19. The browser then retrievesand renders the linked material in combination with the page content(assuming that type of data is supported by the browser, either directlyor through use of a plugin).

In this approach, an image data file 19 to be included with the pagecontent 18 using link 180 is directly accessible (as the original datafile) to client 12. The client can therefore save their own, local copyof the image data file, and make (and possibly distribute) furthercopies. This may be undesirable for the original provider of the imagedata 19. For example, the original provider might charge money foraccess or use of the image data 19 via access to a particular web-site,and this source of revenue may be bypassed or devalued if the image databecomes readily available from another source (whether legitimate orotherwise). Alternatively, the original provider might consider theimage to be private, intended only for limited viewing within acontrolled group of friends on a social network site.

Accordingly, the content server 10 is provided with a conversion tool190. The conversion tool typically comprises code (softwareinstructions) executed by a processor. The conversion tool 190 may runon the same machine as the content server 10 or may be located on adifferent system. For example, the conversion tool may be provided as afront end, back end, or plug-in to the web server 11 or to the contentserver 10 (or to a combination of both these systems). In some cases theconversion tool 190 may be implemented as a dynamic link library (DLL)on (or available to) the web server 11 and/or the content server 10. Theconversion tool 190 may provide an application programming interface(API) to facilitate use with the web server 11 and/or the content server10.

The conversion tool 190 analyzes the structure of the image data file19, which may be in one of various possible image formats for use withpage content 18, such as a bitmap, JPG/JPEG, GIF, PNG or equivalent. Theconversion tool 19 outputs the image as html. Note that html was notdesigned to represent images itself (as the name “hypertext” implies),nor is it normally used for this purpose. The html representation of theimage then allows the image to be directly incorporated into pagecontent 18. In other words, the link 180 in page content 18 to the imagedata file 19 is replaced by an html coding of the actual image itself(rather than just a reference to the image).

The operation of the conversion tool 19 in accordance with oneembodiment of the invention is set out in FIG. 2. In general terms, thetool 19 receives an input picture 19, which is analyzed in terms ofstructure and colour. An html representation of the input image is thengenerated, using a mathematical algorithm that analyzes the picture bitby bit and represents the picture in terms of html. The output htmlimage can then be transmitted for rendering by the client 12.

As shown in FIG. 2, at operation 200, the tool receives an input imagein a typical image format, such as JPEG. At operation 210, the toolaccesses and analyses the picture bit by bit, for example, pixel bypixel. At operation 220, the tool creates a dot in html using the <div>tag, the <span> tag, or any other tag that may represent a dot in htmlthat corresponds to the relevant bit or portion of the input image. Thisdot represents (is equivalent to) the appearance of the correspondingportion of the input image. When all portions of the input image havebeen converted to html in this manner, at operation 230 the resultingimage can be output in html format.

FIG. 3 illustrates this conversion procedure in more detail inaccordance with one embodiment of the invention. At operation 300 aninput portion of the image, e.g. a pixel, is received. At operation 310,this dot or portion of the input picture is represented by an equivalentdot in html by applying the correct colour code, using a HEX code or RGBrepresentation. This conversion procedure may utilise web-safe colourcodes (see http://en.wikipedia.org/wiki/Web_colors). At operation 320,it is determined whether this new dot has the same colour as thepreceding dot. If so, at operation 330, the new dot is joined togetherwith the preceding dot into an html line. For example, if two adjacentdots have the same colour, they are transformed to an html line oflength two dots. If the next html dot again is a dot represented in thesame colour, the line length now becomes equivalent to 3 dots etc. Onthe other hand, if it is determined at operation 320 that the new dotdoes not have the same colour as the preceding dot, i.e. it represents achange of colour, at operation 340 the system finishes the current line,and creates a new line starting with the length of a single dot in thenew colour. At operation 350, the system then proceeds to handle thenext input portion, and processing returns to operation 300.

In accordance with the approach described above, the html graphics forthe input image are formed line by line. As a result, the picture orimage is painted using html, and hence a picture can be represented inpage content 18 in html format, instead of the original picture formatof image data file 19.

In some cases, the html representation of the image may be rather large(reflecting in part that html is not a specialised image format). Theconversion tool can implement various strategies to reduce the imagesize, for example by lowering the resolution of the image. This loweringof the resolution can be performed as a preliminary operation on theoriginal image (while still in a specialised image format), or as partof the conversion process itself, or on the html output image. Oneoption is to replace a block of pixels in the original image with asingle pixel representing the average of the block. Another optioninvolves subsampling the pixels in the original image, for exampletaking only every other pixel, or every other line of pixels. A furtherpossibility is to reduce the resolution of the image only in thoseportions of the image that contain relatively little detail—i.e.relatively little high frequency information.

In some cases, the conversion tool may introduce a watermark or otherindication of origin into the image in markup form as part of theconversion process. This can lead to slight, subtle variations betweenthe original image from image data file 19 and the resulting (converted)image, but such variations generally have little (or no) visibility tothe human eye. In addition, it is very difficult (if not impossible) toremove the watermark from the image in markup form. The watermark cantherefore act as a signature for the image in markup form, allowing theperson who performed the conversion to demonstrate some ownership rightsin the image (for example, in the event of a copyright dispute).

In one implementation, the conversion tool 190 for analyzing andgenerating an html picture (image) representation is integrated into thecontent server 10 or into the web server 11. Alternatively, theconversion tool might be provided as a standalone tool, or as an add-onor plug-in to content server 10 and/or web server 11. Note that thebrowser 112 on client 12 for receiving the page content 18 is notrequired to have any special software, since browser 112 is already ableto handle the html coding of page content 18, and hence can also handlethe html coding for the converted image. Accordingly, the page contentincluding the converted image can be displayed (rendered) by anystandard browser.

FIG. 4 is an image representing a logo. Table 1 lists the html that wasproduced by converting the image of FIG. 4 into html format using theapproach described above. If read by a browser, the html of Table 1would have the same appearance as the image of FIG. 4. Note thatalthough the image of FIG. 4 is monochromatic (red), the approachdescribed herein can also be employed with multi-coloured drawings andimages.

The timing of the conversion processing shown in FIG. 3 may vary fromone embodiment to another embodiment. In some implementations, the imagedata may be stored as image data file 19, and the conversion tool 190performs the conversion “on-the-fly” (dynamically) each time the contentserver 10 receives a request from a client for a content 18 thatincludes a reference (link) to image data. In some cases, this mayinvolve the content server parsing the page content 18 to locate anylinks 180 to image data files that are to be incorporated into the pagecontent. Any image data files identified in this manner are thenconverted using conversion tool 190 and incorporated directly into pagecontent 18. The content server can then return the page content 18(including the image(s) converted into a markup representation) to theclient. Such an approach is especially suitable for situations in whichthe image data file 19 is itself only generated at the time of theclient request, for example, if the image is generated as a real-timesnapshot of a live video feed.

Performing the image conversion “on-the-fly” as above, helps to minimisestorage requirements, since the image data files 19 are stored only inthe native image formats, such as JPEG, which are generally designed toprovide good data compression (in part because they can take advantageof image-specific compression techniques). However, such an approach maycause a delay in responding to the client, as the content server needsto identify any images to be converted, and then perform the relevantconversions, prior to responding to the client. In addition, a givenimage may be converted multiple times if the same page content isrepeatedly requested.

In some cases, the content server 10 may maintain a table or some otherrecord that identifies which image data files are to be embedded in anygiven page content. One option is to populate the table whenever contentis parsed to determine embedded images. The next time this page contentis requested, the content server is now able to identify quickly fromthe table those image data files that are to be converted for a givencontent page, without having to parse (again) the content itself tolocate such image data files. This technique helps to reduce the timefor the content server to produce the final page content (including theimage(s) converted into a markup representation), although it is moredifficult to implement if the page content 18 is generated dynamically(in whole or in part) in response to the browsing request from client12.

A further option is that each time an image is converted into a markuprepresentation, the content server stores the resulting converted imagein the markup representation. In this manner, the next time that pagecontent is requested that is determined to include the relevant image,the already converted form of the image can be retrieved and rapidlyincorporated into a page content 18 in response to a request for thatcontent. Note that if storage is limited, some form of caching schemecan be used to delete markup representations of images that are rarelyused. In addition, the content server may be pre-populated (in effect)with converted images by initially generating a markup representation ofan image (in advance of receiving any client requests for such animage).

A further option is that the (pre)-converted images are stored in thecontent pages themselves (rather than separately as converted images).This option is primarily useful for pages that are created independentlyof any client request (rather than being dynamically generated for eachrequest). With this approach, the page is therefore ready for immediatereturn to the client upon request (without having to locate andincorporate any converted images). However, this approach requiresadditional storage if a given (converted) image is used in multiplepages, since the converted image itself in markup representation is nowstored in each page, rather than just a link to the converted image tobe embedded. This approach is especially attractive for pages that arefrequently requested by clients (since the repeated savings inprocessing time are more likely to compensate for the additional storagerequired).

As mentioned above, the conversion tool 190 may be implemented as anadd-on to web server 11. On possibility is that the conversion tool 190sits, in effect, on the network side of web server 11, converting imagesinto mark-up form as they are sent out from web server 11 to clientsover the network 15. In this configuration, the presence of conversiontool 190 may be transparent to web server 11. Note that the conversiontool may only convert selected images to mark-up form, based for exampleon factors such as the requested image (or URL), the network address ofthe requesting client, and/or any other information about the client,such as may be provided for example by a cookie. One possibility is thatthe conversion tool does not convert images into markup form that arebeing sent to subscribers to web-site 11, but does convert images intomarkup form that are being sent to casual visitors to web-site 11 (theformer may be differentiated from the latter by known mechanisms, suchas accessed URL, cookies, etc).

Such an approach might be used for an image supply service, wheresubscribers have to pay for full access to the original images (not inmarkup form). This approach might also be used where web-site 11provides some social network functionality, such as Facebook or Flickr,etc. In this case, if a person posts certain images to their socialnetwork site, the system may provide the original images to other userswho have a particular relationship to the person—e.g. they aredesignated as friends of the person within the social network. However,if the person is prepared for other users (not friends) to access theimages, the system might allow the person to specify that the images areonly available in markup form to these other users (so that they cannotbe readily copied or further distributed). In other cases, a personmight prefer that the images are distributed in markup form to all otherusers (whether friends or not).

Using a markup language to serve an image to a client as describedherein therefore has various benefits. By avoiding the use of an img srctag or similar, there is no easy way for the browser (or any othersystem) to determine automatically that the page does, in fact, includean image. Consequently, if a user right-clicks over the image, thebrowser will not present the user with any options to copy or save theimage (but rather just the standard right-click menu for the pagecontent as a whole). This then provides a form of copy-protection tohelp maintain the privacy or intellectual property rights in the image.

Similarly, there are some parties who use robots or other systems tocrawl the web to extract automatically large numbers of images from webpages. Such parties may then use the extracted images for variouspurposes, such as re-selling or distributing the image (even if notauthorised to do so), or simulating another web-site (phishing), such asthe web-site of a bank, to persuade unwary consumers to enter theirsecurity information, or a (fake) ticket sales site. The proceduredescribed herein helps to protect web-site images from such imagere-use, since the web crawlers are generally unable to copy (or evenidentify) the images that are incorporated into page content using amarkup representation.

Another potential application of the approach described herein is forimage search sites, such as Google images, which may return a largenumber of small (thumbnail) images in response to a user-entered searchterm. A user is then able to select one or more of the small images fortheir particular needs, and then obtain the corresponding image in fullsize (if so desired). In some cases, there may be a charge associatedwith use of the full image, especially for more specialised image searchservices, for example in relation to news images. The approach describedherein allows an image supplier to provide a set of images in mark-upform for download to a potential client for review. The rights of theimage supplier are protected, since the client is unable to re-use theimages directly (because of their mark-up form); nevertheless, theclient is able to preview the images, and to select one or more imagesfor further use if so desired. (Such a selection might be subject to apayment, whereupon the user is then provided with the image in theoriginal form, e.g. as a JPEG file, rather than in markup form, asoriginally provided for the preview screen).

A further possibility is that a web-site offers a conversion service,whereby users can upload images in the native image format, and receivethe images back encoded in a markup language. This service might beprovided for a charge, or may be funded by other mechanisms, forexample, advertising.

The approach described herein also makes it more difficult to performimage filtering on the material received by a client system. Such imagefiltering is utilised by certain regimes, for example, as a form ofcensorship to present the distribution of politically sensitive images.However, it is very difficult for such filters to recognise (and remove)images when they are encoded in markup form.

A further possible application of the approach described herein is withreference to cloud-based office systems, such as Microsoft Office 365.These systems provide various functionality for a user including email.In one implementation, a user (who may represent a person or acorporation) uploads an image for the cloud-based server—such as apicture of the user or a logo for the corporation. The cloud-basedsystem then converts this image into html and stores the image forinclusion in emails sent from the cloud-based system, for example, as aform of email signature. This approach can also be applied toautomatically generated emails from web-sites, for example, that provideconfirmation of transactions (such as on-line purchases, etc). Note thatthe same (html converted image may be systematically added to all emailsfor a given client (organisation) of the cloud-based account, eventhough this might span a potentially large number of individual emailaccounts for different users associated with that client.

In some cases, the cloud-based system may determine the format in whichto send the image based on knowledge of the destination email address.For example, if the email is to be received by another email system thatis cloud or web-based, and accessed via a browser, then the email mightincorporate the image in its native format (say JPEG), while if thedestination address is not cloud or web-based (or perhaps in cases ofdoubt), then the image might be sent in html format in order to ensurethat the email signature is properly displayed (rather than beingpresented only as a link or indicated as being unavailable). In this waythe presentation of the image can be adapted according to the expectedreception.

A similar decision can also be made by an email server that holdsincoming emails for a user. For example, if the server knows that theemail account is being accessed using one mechanism that will generallydisplay the image in native format, then it may decide not to convertthe image (or not to use an already converted image if available).Alternatively, if the server knows that the email account is beingaccessed by a device that is more cautious about displaying images inemails, e.g. a Blackberry, then the same email might be provided withthe image encoded using html format. Accordingly, the version of theimage provided by an email server (whether for sending to a destinationor downloading to the recipient) may vary according to any knowninformation about the recipient.

Although various embodiments of the invention have been described above,the skilled person will be aware of further potential modifications andvariations depending upon the particular context. For example, theskilled person will be aware of a range of possible timings andimplementations for the image conversion described herein, and willadapt the implementation to the particular circumstances of thatimplementation. Accordingly, the present invention is defined by thescope of the attached claims and their equivalents.

1. A computer-implemented method of operating a web-site that providesaccounts for respective users, the method comprising: receiving an imageuploaded from a user to the account of the user, wherein said image isto be incorporated into the account for presentation to other users whohave been granted appropriate access to the account, and wherein saidimage is received as an image data file encoding said image inaccordance with a standard image format; converting said image from saidstandard image format of the image data file into a format in which theimage is encoded using a markup language, wherein said markup languageis generally used for transmitting a page of content from said web-siteto a browser run by a user; and incorporating the image encoded usingsaid markup language into a page of content prior to transmission of thepage of content over a telecommunications network to a browser run by auser.
 2. The method of claim 1, wherein the conversion of the image fromsaid standard image format into the markup language is performed inresponse to receiving a request from the browser for the page ofcontent.
 3. The method of claim 1, further comprising storing theconverted image encoded using said markup language for use in respondingto future requests for the page of content.
 4. The method of claim 3,wherein the converted image is stored separately from the page ofcontent for future incorporation into said page of content.
 5. Themethod of claim 1, further comprising transmitting the page of contentincorporating the image encoded using said markup language from aweb-site running on a server to a browser running on a receiving client.6. The method of claim 5, wherein a browser on the receiving clientrenders the page of content so as to display the image within said pageby directly using the image encoded by said markup language and withouthaving to retrieve any image source file.
 7. The method of claim 1,wherein converting the image includes converting pixels of the imageinto dots in said markup language.
 8. The method of claim 7, whereinconverting the image includes combining a series of two or more dotsthat are the same as one another into a line in said markup language. 9.The method of claim 1, further comprising reducing the volume of theimage encoded using said markup language.
 10. The method of claim 10,wherein reducing the volume includes lowering the resolution of theimage.
 11. The method of claim 10, wherein lowering the resolution ofthe image is performed prior to converting the image.
 12. The method ofclaim 10, wherein lowering the resolution of the image is performed aspart of converting the image.
 13. The method of claim 10, whereinlowering the resolution of the image comprises subsampling or averagingthe image.
 14. The method of claim 1, wherein converting the imageincludes adding a watermark to the image in markup form.
 15. The methodof claim 1, wherein said markup language comprises hypertext markuplanguage (html).
 16. The method of claim 1, wherein the converted imageis built up on a line-by-line basis; wherein each line of the convertedimage comprises one or more HyperText Markup Language (HTML) imageunits, each HTML image unit being located in just a single line of theconverted image and formed from a row of one or more consecutive pixelsof the image which have the same color; and wherein a first line of theconverted image has a first arbitrary length and a second line of theconverted image has a second arbitrary length, wherein both the firstand second arbitrary lengths are independent of the lengths of otherlines in the converted image.
 17. A computer-implemented web-siterunning on a server including one or more processors, wherein theweb-site provides accounts for respective users, the one or moreprocessors being configured to execute instructions to perform a methodcomprising: receiving an image uploaded from a user to the account ofthe user, wherein said image is to be incorporated into the account forpresentation to other users who have been granted appropriate access tothe account, and wherein said image is received as an image data fileencoding said image in accordance with a standard image format;converting said image from said standard image format of the image datafile into a format in which the image is encoded using a markuplanguage, wherein said markup language is generally used fortransmitting a page of content from said web-site to a browser run by auser; incorporating the image encoded using said markup language into apage of content prior to transmission of the page of content over atelecommunications network to a browser run by a user.
 18. Acomputer-implemented method of operating a web-site that provides imagesearch services, the method comprising: receiving a search request froma user for images, wherein said search request specifies one or moresearch criteria; retrieving one or more images in accordance with saidone or more search criteria; providing the retrieved images to the user,wherein said provided images are encoded using a markup language,wherein said markup language is generally used for transmitting a pageof content from said web-site to a browser run by a user.
 19. The methodof claim 18, further comprising converting said one or more retrievedimages from an image data file in a standard image format into saidmarkup language encoding. wherein said converting is optionallyperformed prior to receiving the search request from the user.
 20. Themethod of claim 19, further comprising subsequently providing at leastone of the retrieved images to the user in said standard image formatupon selection of said at least one retrieved image by the user.